var packageName = "com.xingin.xhs"; // 视频App的包名

// // 打开视频App
launch(packageName);
toast('打开小红书')

// App加载完成
waitForPackage(packageName);
toast('加载完成')
sleep(5000)

// 点击消息
console.log('查找消息');
const xx = className("android.view.ViewGroup").depth("10").drawingOrder("5").findOne().click()
sleep(random(1000,3000))
console.log('点击消息');

// 循环查找新消息
    const center = className("android.widget.FrameLayout").depth("1").findOne()
   swipe(center.bounds().centerX(),center.bounds().centerY(),center.bounds().centerX(),center.bounds().centerY() + 300,500)
   sleep(random(2000,3000))
    // 消息
    msg()
    // 关注
    follow()
    // 评论
    review1()


    





// 生成随机数函数
function random(min, max) {
    return Math.floor(Math.random() * (max - min + 1)) + min;
  }

// 消息回复函数
function msg(){
    const red = className("android.widget.TextView").depth("18").drawingOrder("4").findOne(2000)
    if(red){
        toast('有新消息')
        click(red.bounds().centerX(),red.bounds().centerY())
        sleep(random(1000,3000))
        const txts = className("android.widget.TextView").depth("14").drawingOrder("1").find()
        txts.forEach(e=>{
            console.log(e.text());
        })
        // 新消息
        const text = txts[txts.length-1].text()
	        let input = className("android.widget.EditText").depth("10").drawingOrder("1").findOne(6000)
            if(input){
                input.setText('你好，我是小红人，正在学习自动化测试，有什么可以帮你的吗？')
                sleep(random(1000,3000))
                className("android.widget.TextView").text("发送").depth("10").drawingOrder("3").findOne().click()
                toast('发送');
                sleep(random(1000,3000))
                back()
                sleep(random(1000,3000))
            }
    }else{
        toast('没有新消息')
    }
    
}

// 新增关注
function follow(){
    const flws = className("android.widget.TextView").depth("18").drawingOrder("2").find()
    const flw = flws.filter(e=>e.parent().child(2).text() == "新增关注")
    console.log('关注长度' + flw.length);
    if(flw.length){
        flw[0].parent().click()
        sleep(random(1000,3000))
        flow()
    }else{
        toast('没有新关注')
    }
}


// 回复关注函数
function flow(){
        // var storage = storages.create('关注已回复')
        let newFs = className("android.widget.TextView").depth("10").drawingOrder("2").find()
        newFs = newFs.filter(e=>e.text() == '回关' || e.text() == '回粉')
        console.log('关注长度' + newFs.length);
        if(newFs.length == 0){
            toast('没有新关注')
            back()
            return
        }
        newFs.forEach(e=>{
            // storage.remove(e.parent().child(1).child(0).child(0).text())
            // if(!storage.get(e.parent().child(1).child(0).child(0).text())){
            //     storage.put(e.parent().child(1).child(0).child(0).text(),e.parent().child(1).child(0).child(0).text())
            //     console.log(storage.get(e.parent().child(1).child(0).child(0).text()));
                click(e.parent().bounds().centerX(),e.parent().bounds().centerY())
                sleep(3000)
                className("android.widget.ImageView").depth("16").desc("发消息").drawingOrder("5").findOne(6000).click()
                sleep(3000)
                // 新消息
                let input = className("android.widget.EditText").depth("10").drawingOrder("1").findOne(6000)
                    if(input){
                        input.setText('你好，我是小红人，正在学习自动化测试，有什么可以帮你的吗？')
                        sleep(random(1000,3000))
                        className("android.widget.TextView").text("发送").depth("10").drawingOrder("3").findOne().click()
                        console.log('发送');
                        sleep(random(1000,3000))
                        back()
                        sleep(random(1000,3000))
                        back()
                        flow()
                    }
            // }else{
            //     toast('没有新关注')
            //     console.log('没有新关注');
            //     back()
            // }
        })
}


// 评论
function review1 () {
    const revs = className("android.widget.TextView").depth("18").drawingOrder("2").find()
    console.log('1');
    const rev = revs.filter(e=>e.parent().child(2).text() == "评论和@")
    console.log('2');
    if(rev.length){
        console.log('3');
        rev[0].parent().click()
        while(true){
            sleep(random(500,1000))
            let item = className("android.widget.LinearLayout").depth("10").drawingOrder("4").untilFind()
            console.log(item.length);
            item.forEach((e,i)=>{
                console.log('index' + i);
                if(i == item.length-1) return
                if(e.child(1).child(0).text() == "评论了你的笔记"){
                    if(e.parent().bounds().left<0||e.parent().bounds().top<0||e.parent().bounds().width()<0||e.parent().bounds().height()<0){
                        console.log('坐标错误');
                    }else{
                        findColors1(e.parent())
                        sleep(1000)
                    }
                }

            })
            if(item.length>1){
            // 滑动
            swipe(
                device.width / 2,
                device.height * 0.8,
                device.width / 2,
                device.height * 0.2,
                1000
              );
            sleep(1000)
            }
            const end = className("android.widget.TextView").text("- THE END -").findOne(6000)
            const end2 = className("android.widget.TextView").text("查看更多历史消息").findOne(6000)
            if(end||end2||item.length==1){
                console.log('到底了');
                toast('到底了')
                findColors1(item[item.length-1].parent())
                sleep(3000)
                back()
                break;
            }else{
                console.log('没有到底');
            }
                }
    }else{
        toast('没有评论')
    }
    }


// 找色方法
function findColors1 (e) {
    requestScreenCapture(true)
    const img = captureScreen()
    images.save(img,"/sdcard/screenshot.png")
    const less = img.getWidth() / e.bounds().width()
    const vh = img.getHeight() / device.height
    console.log(e.bounds().left,Math.ceil((e.bounds().top)*vh),Math.ceil((e.bounds().width())*less),Math.ceil((e.bounds().height())*vh));
    const red = findColor(img, "#f82a50",{
        region:[e.bounds().left,Math.ceil((e.bounds().top)*vh),Math.ceil((e.bounds().width())*less),Math.ceil((e.bounds().height())*vh)],
        threshold:10
    });
    console.log(red);
    if(red){
        console.log('找到',e.child(1).child(2).text());

    }else{
        console.log('没找到',e.child(1).child(2).text());
        // 点击爱心
        const ix = e.child(3).child(0).child(0)
        click(ix.bounds().centerX(),ix.bounds().centerY())
        sleep(1000)
        // 点击回复
        e.child(3).child(0).child(1).child(0).click()
        sleep(1000)
        
        const ipt = className("android.widget.EditText").depth("8").drawingOrder("3").text("帅气的抢个沙发~").findOne(6000)
        if(ipt){
            toast('输入文字')
            ipt.setText('1')
        }else{
            toast('没找到输入框')
        }
        sleep(3000)
        // 点击回复
        className("android.widget.TextView").depth("8").drawingOrder("2").text("发送").findOne().click()
        sleep(3000)
    }
}



// 刷新
function refresh () {
    sleep(2000)
    toast('打开布局')
    app.sendBroadcast("inspect_layout_bounds");
    sleep(6000);
    toast('返回')
    back();
    sleep(2000);
}


